package com.ljf.daily.web;

import com.ljf.common.result.ResultModel;
import com.ljf.common.utils.EnumUtil;
import com.ljf.daily.costmanagement.enums.DailyDatCostManagementActivitySignEnum;
import com.ljf.daily.costmanagement.enums.DailyDatCostManagementConfigDailyConsumptionEnum;
import com.ljf.daily.costmanagement.enums.DailyDatCostManagementConfigDifferentLevellingEnum;
import com.ljf.daily.costmanagement.enums.DailyDatCostManagementDetailOperateOperationTypeEnum;
import com.ljf.daily.makemoneydetail.enums.DailyDatMakeMoneyDetailTypeEnum;
import com.ljf.daily.makemoneysoftware.enums.DailyDatMakeMoneySoftwareConfigAccountLimitModeEnum;
import com.ljf.daily.makemoneysoftware.enums.DailyDatMakeMoneySoftwareConfigAccountModeEnum;
import com.ljf.daily.makemoneysoftware.enums.PhoneEnum;
import com.ljf.daily.softwareautorecord.enums.DailyDatSoftwareAutoRecordAmountHistoryEnum;
import com.ljf.daily.softwareautorecord.enums.DailyDatSoftwareAutoRecordAutoExecutionEnum;
import com.ljf.daily.softwareautorecord.enums.DailyDatSoftwareAutoRecordModeTypeEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 日常模块 枚举类 控制器
 *
 * @author LJF
 * @since 2024-02-09
 */
@RestController
@RequestMapping("/enum/daily")
@Api(value = "日常模块枚举类接口", tags = "日常模块枚举类接口")
public class DailyEnumController {

    @GetMapping("/phone")
    @ApiOperation(value = "查询联系电话枚举")
    public ResultModel getPhone() {
        return EnumUtil.getEnumVoResult(PhoneEnum.values());
    }

    @GetMapping("/make_money_detail/type")
    @ApiOperation(value = "查询赚钱明细记录对象类型枚举")
    public ResultModel getMakeMoneyDetailType() {
        return EnumUtil.getEnumVoResult(DailyDatMakeMoneyDetailTypeEnum.values());
    }

    @GetMapping("/make_money_software_config/account_mode")
    @ApiOperation(value = "查询赚钱软件配置记账模式枚举")
    public ResultModel getMakeMoneySoftwareConfigAccountMode() {
        return EnumUtil.getEnumVoResult(DailyDatMakeMoneySoftwareConfigAccountModeEnum.values());
    }

    @GetMapping("/make_money_software_config/account_limit_mode")
    @ApiOperation(value = "查询赚钱软件配置限数模式枚举")
    public ResultModel getMakeMoneySoftwareConfigAccountLimitMode() {
        return EnumUtil.getEnumVoResult(DailyDatMakeMoneySoftwareConfigAccountLimitModeEnum.values());
    }

    @GetMapping("/software_auto_record/auto_execution")
    @ApiOperation(value = "查询赚钱软件自动记录自动执行枚举")
    public ResultModel getSoftwareAutoRecordAutoExecution() {
        return EnumUtil.getEnumVoResult(DailyDatSoftwareAutoRecordAutoExecutionEnum.values());
    }

    @GetMapping("/software_auto_record/mode_type")
    @ApiOperation(value = "查询赚钱软件自动记录模式类型枚举")
    public ResultModel getSoftwareAutoRecordModeType() {
        return EnumUtil.getEnumVoResult(DailyDatSoftwareAutoRecordModeTypeEnum.values());
    }

    @GetMapping("/software_auto_record/amount_history")
    @ApiOperation(value = "查询赚钱软件自动记录金额历史枚举")
    public ResultModel getSoftwareAutoRecordAmountHistory() {
        return EnumUtil.getEnumVoResult(DailyDatSoftwareAutoRecordAmountHistoryEnum.values());
    }

    @GetMapping("/cost_management/activity_sign")
    @ApiOperation(value = "查询费用管理活动标志枚举")
    public ResultModel getCostManagementActivitySign() {
        return EnumUtil.getEnumVoResult(DailyDatCostManagementActivitySignEnum.values());
    }

    @GetMapping("/cost_management_config/different_levelling")
    @ApiOperation(value = "查询费用管理配置差异调平枚举")
    public ResultModel getCostManagementConfigDifferentLevelling() {
        return EnumUtil.getEnumVoResult(DailyDatCostManagementConfigDifferentLevellingEnum.values());
    }

    @GetMapping("/cost_management_config/daily_consumption")
    @ApiOperation(value = "查询费用管理配置日常消耗枚举")
    public ResultModel getCostManagementConfigDailyConsumption() {
        return EnumUtil.getEnumVoResult(DailyDatCostManagementConfigDailyConsumptionEnum.values());
    }

    @GetMapping("/cost_management_detail_operate/operation_type")
    @ApiOperation(value = "查询费用管理明细操作操作类型枚举")
    public ResultModel getCostManagementDetailOperateOperationType() {
        return EnumUtil.getEnumVoResult(DailyDatCostManagementDetailOperateOperationTypeEnum.values());
    }

}